import React, { Component, useEffect, useRef } from 'react'

function Child() {
	let currentDom = useRef();
	useEffect(() => {
		console.log("函数组件", currentDom);
	}, [])
	return (
		<div ref={currentDom}>函数组件ref</div>
	)
}

export default class App extends Component {

	constructor(props) {
		super(props);
		// 不要在函数组件中使用 createRef，否则会造成 Ref 对象内容丢失等情况。
		this.currentDom = React.createRef();
		// 底层逻辑
		// export function createRef() {
		// 	const refObject = {
		// 		current: null,
		// 	}
		// 	return refObject;
		// }
	}

	componentDidMount() {
		console.log("类组件", this.currentDom);
	}

	render() {
		return (
			<div>
				<div ref={this.currentDom}>类组件ref</div>
				<Child></Child>
			</div>
		)
	}
}
